#include <iostream>
#include <stdlib.h>

using namespace std;

struct NODE
{
    int data;
    struct NODE* left;
    struct NODE* right;
};

struct TREE
{
    NODE* root;
};

void insert(TREE* tree,int value)
{
    NODE* node=(NODE*)new NODE;
    node->data=value;
    node->left=NULL;
    node->right=NULL;

    if(tree->root==NULL)
    {
        tree->root=node;
    }
    else
    {
        NODE* temp=tree->root;
        while(temp!=NULL){
            if(value< temp->data)
            {
                if(temp->left==NULL)
                {
                    temp->left=node;
                    return ;
                }
                else
                {
                    temp=temp->left;
                }
            }
            else
            {
                if(temp->right==NULL)
                {
                    temp->right=node;
                    return ;
                }
                else
                {
                    temp=temp->right;
                }
            }
        }
    }
    return;
}

void inorder(NODE* node)
{
    if(node!=NULL)
   {
        cout<<node->data;
        inorder(node->left);
        inorder(node->right);
    }
}

int main()
{
    TREE tree;
    tree.root=NULL;
    int n;
    cin>>n;

    for(int i=0;i<n;i++)
    {
        int temp;
        cin>>temp;
        insert(&tree,temp);
    }

    inorder(tree.root);

    system("pause");
    return 0;
}